﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BLToolkit.DataAccess;
using BLToolkit.Mapping;

namespace Platform.Model
{
    /// <summary>
    /// Lớp biểu diễn dữ liệu lần cân
    /// </summary>
    [TableName("PickingDetail")]
    public class PickingDetail : Devsoft.DB.Models.Flat.ModelWithId<PickingDetail>
    {

        /// <summary>
        /// Lần cân thứ ...
        /// </summary>
        public int PickingTime { get; set; }

        /// <summary>
        /// Mã của lần cân
        /// </summary>
        public int PickingId { get; set; }
		/// <summary>
		/// Ma nha cung cap hang
		/// </summary>
		public int SupId { get; set; }

        /// <summary>
        /// Trọng lượng hiển thị trên cân
        /// </summary>
        public float Gross { get; set; }

        /// <summary>
        /// Trọng lượng thực của sản phẩm
        /// </summary>
        public float Net { get; set; }

        /// <summary>
        /// Số lượng khay lớn
        /// </summary>
        public int Large { get; set; }

        /// <summary>
        /// Số lượng khay trung bình
        /// </summary>
        public int Medium { get; set; }


        /// <summary>
        /// Số lượng khay nhỏ
        /// </summary>
        public int Small { get; set; }

        /// <summary>
        /// Số lượng khay bé
        /// </summary>
        public int Tiny { get; set; }


        /// <summary>
        /// Hao hụt tự nhiên
        /// </summary>
        public float NLoss { get; set; }

        /// <summary>
        /// Hao hụt qua sơ chế
        /// </summary>
        public float PLoss { get; set; }

        /// <summary>
        /// Thời gian cập nhật cuối cùng
        /// </summary>
        public DateTime LastUpdated { get; set; }

        /// <summary>
        /// Thong tin nguoi can
        /// </summary>
        public int WeightedBy { get; set; }

        /// <summary>
        /// Ghi chú
        /// </summary>
        public string Notes { get; set; }

        /// <summary>
        /// Thông tin cân hàng
        /// </summary>
        [Association(ThisKey = "PickingId", OtherKey = "Id", CanBeNull = false)]
        public PickingList PickingList { get; set; }

		/// <summary>
		/// Thong tin nha cung cap hang
		/// </summary>
		[Association(ThisKey = "SupId", OtherKey = "Id", CanBeNull = false)]
		public Supplier Supplier { get; set; }

        /// <summary>
        /// Thông tin người cân hàng
        /// </summary>
        [Association(ThisKey = "WeightedBy", OtherKey = "Id", CanBeNull = false)]
        public Employee Employee { get; set; }
    }
}

